package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.Date;

/**
 * 论文对象 t_paper
 * 
 * @author ruoyi
 * @date 2020-04-17
 */
public class Paper extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 论文中文标题 */
    @Excel(name = "论文中文标题")
    private String cnName;

    /** 论文英文标题 */
    @Excel(name = "论文英文标题")
    private String enName;

    /** 第一作者 */
    @Excel(name = "第一作者")
    private String firstAuthor;

    /** 通讯作者 */
    @Excel(name = "通讯作者")
    private String correspondingAuthor;

    /** 其他作者 */
    @Excel(name = "其他作者")
    private String otherAuthor;

    /** 第一署单位 */
    @Excel(name = "第一署单位")
    private String firstUnit;

    /** 刊名 */
    @Excel(name = "刊名")
    private String journalName;

    /** 发表年月 */
    @Excel(name = "发表年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date publishDate;

    /** 卷期 */
    @Excel(name = "卷期")
    private String volumePeriod;

    /** 页码 */
    @Excel(name = "页码")
    private String pagination;

    /** 论文性质（会议/期刊） */
    @Excel(name = "论文性质", readConverterExp = "会=议/期刊")
    private Integer paperNature;

    /** 论文类别 */
    @Excel(name = "论文类别")
    private String paperType;

    /** 单位id */
    @Excel(name = "单位id")
    private Long reportUnitId;

    /** 申报单位 */
    @Excel(name = "申报单位")
    private String reportUnit;

    /** 申报时间 */
    @Excel(name = "申报时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reportTime;

    /** 科室 */
    @Excel(name = "科室")
    private Long departmentId;

    /** 科室 */
    @Excel(name = "科室")
    private String department;

    /** 是否属于创新激励奖 */
    @Excel(name = "是否属于创新激励奖")
    private Integer isInnovate;

    /** 文档类型 */
    @Excel(name = "文档类型")
    private Integer docType;

    /** 是否包含附件 */
    @Excel(name = "是否包含附件")
    private Integer hasAppendix;

    /** 审核状态   1未审核，2审核中，3审核通过 */
    @Excel(name = "审核状态   1未审核，2审核中，3审核通过")
    private Integer auditState;

    /** 创建时间 */
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gmtTime;

    /** 创建人 */
    @Excel(name = "创建人")
    private Long creator;

    private String searchParam;

    public String getSearchParam() {
        return searchParam;
    }

    public void setSearchParam(String searchParam) {
        this.searchParam = searchParam;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCnName(String cnName) 
    {
        this.cnName = cnName;
    }

    public String getCnName() 
    {
        return cnName;
    }
    public void setEnName(String enName) 
    {
        this.enName = enName;
    }

    public String getEnName() 
    {
        return enName;
    }
    public void setFirstAuthor(String firstAuthor) 
    {
        this.firstAuthor = firstAuthor;
    }

    public String getFirstAuthor() 
    {
        return firstAuthor;
    }
    public void setCorrespondingAuthor(String correspondingAuthor) 
    {
        this.correspondingAuthor = correspondingAuthor;
    }

    public String getCorrespondingAuthor() 
    {
        return correspondingAuthor;
    }
    public void setOtherAuthor(String otherAuthor) 
    {
        this.otherAuthor = otherAuthor;
    }

    public String getOtherAuthor() 
    {
        return otherAuthor;
    }
    public void setFirstUnit(String firstUnit) 
    {
        this.firstUnit = firstUnit;
    }

    public String getFirstUnit() 
    {
        return firstUnit;
    }
    public void setJournalName(String journalName) 
    {
        this.journalName = journalName;
    }

    public String getJournalName() 
    {
        return journalName;
    }
    public void setPublishDate(Date publishDate) 
    {
        this.publishDate = publishDate;
    }

    public Date getPublishDate() 
    {
        return publishDate;
    }
    public void setVolumePeriod(String volumePeriod) 
    {
        this.volumePeriod = volumePeriod;
    }

    public String getVolumePeriod() 
    {
        return volumePeriod;
    }
    public void setPagination(String pagination) 
    {
        this.pagination = pagination;
    }

    public String getPagination() 
    {
        return pagination;
    }
    public void setPaperNature(Integer paperNature) 
    {
        this.paperNature = paperNature;
    }

    public Integer getPaperNature() 
    {
        return paperNature;
    }
    public void setPaperType(String paperType) 
    {
        this.paperType = paperType;
    }

    public String getPaperType() 
    {
        return paperType;
    }
    public void setReportUnitId(Long reportUnitId) 
    {
        this.reportUnitId = reportUnitId;
    }

    public Long getReportUnitId() 
    {
        return reportUnitId;
    }
    public void setReportUnit(String reportUnit) 
    {
        this.reportUnit = reportUnit;
    }

    public String getReportUnit() 
    {
        return reportUnit;
    }
    public void setReportTime(Date reportTime) 
    {
        this.reportTime = reportTime;
    }

    public Date getReportTime() 
    {
        return reportTime;
    }
    public void setDepartmentId(Long departmentId) 
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId() 
    {
        return departmentId;
    }
    public void setDepartment(String department) 
    {
        this.department = department;
    }

    public String getDepartment() 
    {
        return department;
    }
    public void setIsInnovate(Integer isInnovate) 
    {
        this.isInnovate = isInnovate;
    }

    public Integer getIsInnovate() 
    {
        return isInnovate;
    }
    public void setDocType(Integer docType) 
    {
        this.docType = docType;
    }

    public Integer getDocType() 
    {
        return docType;
    }
    public void setHasAppendix(Integer hasAppendix) 
    {
        this.hasAppendix = hasAppendix;
    }

    public Integer getHasAppendix() 
    {
        return hasAppendix;
    }
    public void setAuditState(Integer auditState) 
    {
        this.auditState = auditState;
    }

    public Integer getAuditState() 
    {
        return auditState;
    }
    public void setGmtTime(Date gmtTime) 
    {
        this.gmtTime = gmtTime;
    }

    public Date getGmtTime() 
    {
        return gmtTime;
    }
    public void setCreator(Long creator) 
    {
        this.creator = creator;
    }

    public Long getCreator() 
    {
        return creator;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("cnName", getCnName())
            .append("enName", getEnName())
            .append("firstAuthor", getFirstAuthor())
            .append("correspondingAuthor", getCorrespondingAuthor())
            .append("otherAuthor", getOtherAuthor())
            .append("firstUnit", getFirstUnit())
            .append("journalName", getJournalName())
            .append("publishDate", getPublishDate())
            .append("volumePeriod", getVolumePeriod())
            .append("pagination", getPagination())
            .append("paperNature", getPaperNature())
            .append("paperType", getPaperType())
            .append("reportUnitId", getReportUnitId())
            .append("reportUnit", getReportUnit())
            .append("reportTime", getReportTime())
            .append("departmentId", getDepartmentId())
            .append("department", getDepartment())
            .append("isInnovate", getIsInnovate())
            .append("docType", getDocType())
            .append("hasAppendix", getHasAppendix())
            .append("remark", getRemark())
            .append("auditState", getAuditState())
            .append("gmtTime", getGmtTime())
            .append("creator", getCreator())
            .toString();
    }
}
